// pages/consult/consultScreen/consultScreen.js
Page({
  data: {
    region: ['广东省', '广州市', '海珠区'],
    rank: ['国家一级心理咨询师', '国家二级心理咨询师', '国家三级心理咨询师'],
    index: 1, // 默认选择国家二级心理咨询师
    wayList: [
      { text: '全部方式', checked: true },
      { text: '视频资讯', checked: false },
      { text: '语音咨询', checked: false }
    ],
    sexList: [
      { text: '男', checked: true }, // 默认选择男
      { text: '女', checked: false },
      { text: '不限', checked: false }
    ],
    labelList: [
      { text: '全部', checked: true }, // 默认选择全部
      { text: '个人成长', checked: false },
      { text: '恋爱关系', checked: false },
      { text: '婚姻家庭', checked: false },
      { text: '亲子教育', checked: false },
      { text: '职场心理', checked: false },
      { text: '两性心理', checked: false },
      { text: '抑郁梳理', checked: false },
      { text: '情绪管理', checked: false },
      { text: '人际关系', checked: false },
      { text: '心理健康', checked: false },
      { text: '婆媳矛盾', checked: false }
    ]
  },

  bindRegionChange: function (e) {
    console.log('picker发送选择改变，携带值为', e.detail.value)
    this.setData({
      region: e.detail.value
    })
  },

  selectClick(e) {
    const index = e.currentTarget.dataset.index;
    let labelList = this.data.labelList;
    
    if (index === 0) {
      // 如果点击"全部"
      labelList.forEach((item, i) => {
        item.checked = i === 0;
      });
    } else {
      // 如果点击其他标签
      if (labelList[0].checked) {
        // 如果之前选中了"全部"，取消选中
        labelList[0].checked = false;
      }
      
      labelList[index].checked = !labelList[index].checked;
      
      // 计算选中的标签数量
      const checkedCount = labelList.filter(item => item.checked).length;
      
      // 如果选中的标签超过3个，取消最早选中的标签
      if (checkedCount > 3) {
        for (let i = 1; i < labelList.length; i++) {
          if (labelList[i].checked && i !== index) {
            labelList[i].checked = false;
            break;
          }
        }
      }
    }
    
    this.setData({labelList});
  },

  bindSelectChange: function (e) {
    console.log('picker发送选择改变，携带值为', e.detail.value)
    this.setData({
      index: e.detail.value
    })
  },

  sexClick: function(e) {
    let sexIndex = e.currentTarget.dataset.index;
    let sexList = this.data.sexList.map((item, index) => {
      return {
        ...item,
        checked: index === sexIndex
      };
    });

    this.setData({
      sexList: sexList
    });
  },

  wayClick: function(e) {
    let wayIndex = e.currentTarget.dataset.index;
    let wayList = this.data.wayList.map((item, index) => {
      return {
        ...item,
        checked: index === wayIndex
      };
    });

    this.setData({
      wayList: wayList
    });
  },

  formReset() {
    this.setData({
      region: ['广东省', '广州市', '海珠区'],
      index: 1,
      wayList: this.data.wayList.map((item, index) => ({ ...item, checked: index === 0 })),
      sexList: this.data.sexList.map((item, index) => ({ ...item, checked: index === 0 })),
      labelList: this.data.labelList.map((item, index) => ({ ...item, checked: index === 0 }))
    });
  },

  formSubmit(e) {
    const selectedData = {
      region: this.data.region.join(','),
      rank: this.data.rank[this.data.index],
      way: this.data.wayList.find(item => item.checked)?.text,
      sex: this.data.sexList.find(item => item.checked)?.text,
      labels: this.data.labelList.filter(item => item.checked).map(item => item.text).join(',')
    };

    // console.log('提交的数据：', selectedData);
    
    // 将数据转换为查询字符串
    const queryString = Object.entries(selectedData)
      .map(([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(value)}`)
      .join('&');
    
    // 跳转到新页面，并传递数据
    wx.navigateTo({
      url: `/pages/consult/consultScreen/consultScreen-Qry/consultScreen-Qry?${queryString}`
    });
  },

  onLoad(options) {
    // 页面加载时的初始化操作（如果需要）
  },

  onReady() {
    // 页面初次渲染完成时的操作
  },

  onShow() {
    // 页面显示时的操作
  },

  onHide() {
    // 页面隐藏时的操作
  },

  onUnload() {
    // 页面卸载时的操作
  },

  onPullDownRefresh() {
    // 用户下拉动作时的操作
  },

  onReachBottom() {
    // 页面上拉触底时的操作
  },

  onShareAppMessage() {
    // 用户点击右上角分享时的操作
  }
})